首页 > 试题广场 >

主持人调度(一)

[编程题]主持人调度(一)
  • 热度指数:1878 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。

一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。请问一个只有一个主持人能否举办全部活动。

数据范围:
示例1

输入

[[0,10],[10,20],[20,30]]

输出

true
示例2

输入

[[0,10],[10,20],[15,30]]

输出

false
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param schedule int整型二维数组 
# @return bool布尔型
#
class Solution:
    def hostschedule(self , schedule: List[List[int]]) -> bool:
        schedule.sort()
        tmp = schedule[0]
        for i in schedule[1:]:
            if i[0] < tmp[1]:
                return False
            else:
                tmp = [tmp[0],i[1]]
        return True
    # write code here

发表于 2023-05-22 12:27:38 回复(0)
class Solution:
    def hostschedule(self , schedule: List[List[int]]) -> bool:
        # write code here
        return sorted(schedule, key=lambda x: x[1]) == sorted(schedule, key=lambda x: x[0])

发表于 2022-07-08 23:53:33 回复(0)
class Solution:
    def hostschedule(self , schedule: List[List[int]]) -> bool:
        # write code here
        schedule.sort()
        for i in range(len(schedule)-1):
            e1 = schedule[i][1]
            s2 = schedule[i+1][0]
            if s2 < e1:
                return False        
        return True

发表于 2022-04-22 17:21:55 回复(0)